C---------------------------------------------------------
C    TOOLPACK/1    Release: 2.4
C---------------------------------------------------------
C---------------------------------------------------------
C    TOOLPACK/1    Release: 2.4
C---------------------------------------------------------
 
C The following defines must have these values as OUTTOK/RDTOK expect
C them to - if they must be changed, look at OUTTOK & RDTOK.
 
 
C ----------------------------------------------------------------------
C
C       P O L B L K  -  Polish's Block Data
C
 
        BLOCK DATA POLBLK
 
C---------------------------------------------------------
C    TOOLPACK/1    Release: 2.4
C---------------------------------------------------------
C
C  TKLAST = LAST TOKEN NUMBER
C
      INTEGER TZEOF ,TASSIG,TBACKS,TBLOCK,TCALL ,TCLOSE,TCOMMO,TCONTI,
     +        TDATA ,TDO   ,TDIMEN,TELSE ,TELSIF,TEND  ,TENDFI,TENDIF,
     +        TENTRY,TEQUIV,TEXTER,TFUNCT,TFORMA,TGOTO ,TIF   ,TIMPLI,
     +        TINQUI,TINTRI,TOPEN ,TPARAM,TPAUSE,TPRINT,TPROGR,TREAD ,
     +        TRETUR,TREWIN,TSAVE ,TSTOP ,TSUBRO,TTHEN ,TTO   ,TWRITE,
     +        TINTEG,TREAL ,TDOUBL,TCOMPL,TLOGIC,TCHARA,TDCMPL,TCOMMA,
     +        TEQUAL,TCOLON,TLPARN,TRPARN,TLE   ,TLT   ,TEQ   ,TNE   ,
     +        TGE   ,TGT   ,TAND  ,TOR   ,TEQV  ,TNEQV ,TNOT  ,TSTAR ,
     +        TDSTAR,TPLUS ,TMINUS,TSLASH,TCNCAT,TDCNST,TLCNST,TRCNST,
     +        TPCNST,TCCNST,THCNST,TNAME ,TFIELD,TSCALE,TZEOS ,TCMMNT,
     +        TFMTKD,TENDKD,TERRKD,TKLAST
      PARAMETER (TZEOF = 1,TASSIG= 2,TBACKS= 3,TBLOCK= 4,TCALL = 5,
     +           TCLOSE= 6,TCOMMO= 7,TCONTI= 8,TDATA = 9,TDO   =10,
     +           TDIMEN=11,TELSE =12,TELSIF=13,TEND  =14,TENDFI=15,
     +           TENDIF=16,TENTRY=17,TEQUIV=18,TEXTER=19,TFUNCT=20,
     +           TFORMA=21,TGOTO =22,TIF   =23,TIMPLI=24,TINQUI=25,
     +           TINTRI=26,TOPEN =27,TPARAM=28,TPAUSE=29,TPRINT=30,
     +           TPROGR=31,TREAD =32,TRETUR=33,TREWIN=34,TSAVE =35,
     +           TSTOP =36,TSUBRO=37,TTHEN =38,TTO   =39,TWRITE=40,
     +           TINTEG=41,TREAL =42,TDOUBL=43,TCOMPL=44,TLOGIC=45,
     +           TCHARA=46,TDCMPL=47,TCOMMA=48,TEQUAL=49,TCOLON=50,
     +           TLPARN=51,TRPARN=52,TLE   =53,TLT   =54,TEQ   =55,
     +           TNE   =56,TGE   =57,TGT   =58,TAND  =59,TOR   =60,
     +           TEQV  =61,TNEQV =62,TNOT  =63,TSTAR =64,TDSTAR=65,
     +           TPLUS =66,TMINUS=67,TSLASH=68,TCNCAT=69,TDCNST=70,
     +           TLCNST=71,TRCNST=72,TPCNST=73,TCCNST=74,THCNST=75,
     +           TNAME =76,TFIELD=77,TSCALE=78,TZEOS =79,TCMMNT=80,
     +           TFMTKD=81,TENDKD=82,TERRKD=83,TKLAST=83)
 
 
        COMMON/TYPES/ STTYPE
        INTEGER STTYPE(TKLAST)
 
        COMMON/SPACNG/SPBEF,SPAFT
        INTEGER SPBEF(-2:TKLAST,0:2),SPAFT(-2:TKLAST,0:2)
 
        COMMON/XTTYPE/TMPLUS,TMMINU
        INTEGER TMPLUS,TMMINU
 
        COMMON/INTBRK/BRPRIO
        INTEGER BRPRIO(-2:TKLAST,0:2)
 
        COMMON/BLINES/BLAFT,BLBEF,BLADEC,BLCHAR
        INTEGER BLAFT(-2:TKLAST),BLBEF(-2:TKLAST),BLCHAR
        LOGICAL BLADEC
 
        COMMON/MARGIN/LMARGS,RMARGS,LMARGC,RMARGC
        INTEGER LMARGS,RMARGS,LMARGC,RMARGC
 
        COMMON/CONTIN/CONCHR,CONCNT
        INTEGER CONCHR,CONCNT
 
        COMMON/LFORM/LABELF,LABELC
        INTEGER LABELF,LABELC
 
        COMMON/INDENT/INDDO,INDIF,INDCON,INDCMT,MAXIND
        INTEGER INDDO,INDIF,INDCON,MAXIND
        LOGICAL INDCMT
 
        COMMON/SEQNUM/SEQINI,SEQINC,SEQDIG,SEQFIL,SEQRQD
        INTEGER SEQINI,SEQINC,SEQDIG,SEQFIL
        LOGICAL SEQRQD
 
        COMMON/RELBL/FLBINI,FLBINC,SLBINI,SLBINC,RLBFMT,RLBSTM
        INTEGER FLBINI,FLBINC,SLBINI,SLBINC
        LOGICAL RLBFMT,RLBSTM
 
        COMMON/DOCON/DOCONI,NDOCON,DOCONS,IOTHCO
        LOGICAL DOCONI,IOTHCO
        INTEGER NDOCON,DOCONS(30)
 
        COMMON/CMT/CMMODE,CBOX,CBTOP,CBSIDE,CMCHAR
        INTEGER CMMODE,CBOX,CBTOP,CBSIDE,CMCHAR
 
        COMMON/CASE/KWCASE,IDCASE,STRCAS,CMCASE,FFCASE
        INTEGER KWCASE,IDCASE,STRCAS,CMCASE,FFCASE
 
        COMMON/ASGLUP/VLEN
        INTEGER VLEN
 
        COMMON/MOVFMT/MOVEF,MFFLAG
        LOGICAL MOVEF,MFFLAG
 
        COMMON/DECLUP/DLUP,DLEN,DLUPOS
        LOGICAL DLUP
        INTEGER DLEN,DLUPOS
 
        COMMON/TRCOPT/TRACE
        LOGICAL TRACE
 
        COMMON/OPT15C/INDDOC,DELSED,BRKLIF
        LOGICAL INDDOC,DELSED,BRKLIF
 
        COMMON/ERROPT/ERRCMT
        LOGICAL ERRCMT
 
        COMMON/CVTOPT/CVTHFM,FMSBRK
        LOGICAL CVTHFM,FMSBRK
 
        COMMON/REMTOK/RMOPCF
        LOGICAL RMOPCF
 
        SAVE
 
        INTEGER TMPLUV,TMMINV
        PARAMETER (TMPLUV=-1,TMMINV=-2)
 
C
C Table to drive statement type selector
C
C Values are 0=illegal initial token for statement
C            1=comment
C            2=FORMAT
C            3=declaration
C            4=executable
 
        DATA STTYPE/0,4,4,3,4,4,3,4,3,4,3,4,4,0,4,4,3,3,3,3,2,4,
     +              4,3,4,3,4,3,4,4,3,4,4,4,3,4,3,4,0,4,3,3,
     +              3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
     +              0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0/
 
C ***************SPACING SPECIAL VALUES
C       -1 (SPBEF) = One space iff previous token not a name or "("
C       -1 (SPAFT) = One space iff next token not ")" or "," or operator
C       -2 = Error
C       -3 (SPAFT) = One space iff next token not "*"
 
C Monadic minus sign
        DATA (SPBEF(TMMINV,I),I=0,2)/0,0,0/
        DATA (SPAFT(TMMINV,I),I=0,2)/0,0,0/
C Monadic plus sign
        DATA (SPBEF(TMPLUV,I),I=0,2)/0,0,0/
        DATA (SPAFT(TMPLUV,I),I=0,2)/0,0,0/
C <EOF>
        DATA (SPBEF(TZEOF,I),I=0,2)/-2,-2,-2/
        DATA (SPAFT(TZEOF,I),I=0,2)/-2,-2,-2/
C ASSIGN
        DATA (SPBEF(TASSIG,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TASSIG,I),I=0,2)/1,-2,-2/
C BACKSPACE
        DATA (SPBEF(TBACKS,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TBACKS,I),I=0,2)/1,-2,-2/
C BLOCKDATA
        DATA (SPBEF(TBLOCK,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TBLOCK,I),I=0,2)/1,-2,-2/
C CALL
        DATA (SPBEF(TCALL,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TCALL,I),I=0,2)/1,-2,-2/
C CLOSE
        DATA (SPBEF(TCLOSE,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TCLOSE,I),I=0,2)/1,-2,-2/
C COMMON
        DATA (SPBEF(TCOMMO,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TCOMMO,I),I=0,2)/1,-2,-2/
C CONTINUE -- NO FOLLOWING SPACE
        DATA (SPBEF(TCONTI,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TCONTI,I),I=0,2)/0,-2,-2/
C DATA
        DATA (SPBEF(TDATA,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TDATA,I),I=0,2)/1,-2,-2/
C DO
        DATA (SPBEF(TDO,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TDO,I),I=0,2)/1,-2,-2/
C DIMENSION
        DATA (SPBEF(TDIMEN,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TDIMEN,I),I=0,2)/1,-2,-2/
C ELSE
        DATA (SPBEF(TELSE,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TELSE,I),I=0,2)/1,-2,-2/
C ELSEIF
        DATA (SPBEF(TELSIF,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TELSIF,I),I=0,2)/1,-2,-2/
C END
        DATA (SPBEF(TEND,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TEND,I),I=0,2)/1,-2,-2/
C ENDFILE
        DATA (SPBEF(TENDFI,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TENDFI,I),I=0,2)/1,-2,-2/
C ENDIF
        DATA (SPBEF(TENDIF,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TENDIF,I),I=0,2)/1,-2,-2/
C ENTRY
        DATA (SPBEF(TENTRY,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TENTRY,I),I=0,2)/1,-2,-2/
C EQUIVALENCE
        DATA (SPBEF(TEQUIV,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TEQUIV,I),I=0,2)/1,-2,-2/
C EXTERNAL
        DATA (SPBEF(TEXTER,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TEXTER,I),I=0,2)/1,-2,-2/
C FUNCTION
        DATA (SPBEF(TFUNCT,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TFUNCT,I),I=0,2)/1,-2,-2/
C FORMAT
        DATA (SPBEF(TFORMA,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TFORMA,I),I=0,2)/1,-2,-2/
C GOTO
        DATA (SPBEF(TGOTO,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TGOTO,I),I=0,2)/1,-2,-2/
C IF
        DATA (SPBEF(TIF,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TIF,I),I=0,2)/1,-2,-2/
C IMPLICIT
        DATA (SPBEF(TIMPLI,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TIMPLI,I),I=0,2)/1,-2,-2/
C INQUIRE
        DATA (SPBEF(TINQUI,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TINQUI,I),I=0,2)/1,-2,-2/
C INTRINSIC
        DATA (SPBEF(TINTRI,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TINTRI,I),I=0,2)/1,-2,-2/
C OPEN
        DATA (SPBEF(TOPEN,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TOPEN,I),I=0,2)/1,-2,-2/
C PARAMETER
        DATA (SPBEF(TPARAM,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TPARAM,I),I=0,2)/1,-2,-2/
C PAUSE
        DATA (SPBEF(TPAUSE,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TPAUSE,I),I=0,2)/1,-2,-2/
C PRINT
        DATA (SPBEF(TPRINT,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TPRINT,I),I=0,2)/1,-2,-2/
C PROGRAM
        DATA (SPBEF(TPROGR,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TPROGR,I),I=0,2)/1,-2,-2/
C READ
        DATA (SPBEF(TREAD,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TREAD,I),I=0,2)/1,-2,-2/
C RETURN
        DATA (SPBEF(TRETUR,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TRETUR,I),I=0,2)/1,-2,-2/
C REWIND
        DATA (SPBEF(TREWIN,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TREWIN,I),I=0,2)/1,-2,-2/
C SAVE
        DATA (SPBEF(TSAVE,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TSAVE,I),I=0,2)/1,-2,-2/
C STOP
        DATA (SPBEF(TSTOP,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TSTOP,I),I=0,2)/1,-2,-2/
C SUBROUTINE
        DATA (SPBEF(TSUBRO,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TSUBRO,I),I=0,2)/1,-2,-2/
C THEN -- NO FOLLOWING SPACE
        DATA (SPBEF(TTHEN,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TTHEN,I),I=0,2)/0,-2,-2/
C TO
        DATA (SPBEF(TTO,I),I=0,2)/1,-2,-2/
        DATA (SPAFT(TTO,I),I=0,2)/1,-2,-2/
C WRITE
        DATA (SPBEF(TWRITE,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TWRITE,I),I=0,2)/1,-2,-2/
C Default for INTEGER*N/REAL*N/COMPLEX*N/LOGICAL*N/CHARACTER*anything
C is no space between the keyword and the *
C INTEGER
        DATA (SPBEF(TINTEG,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TINTEG,I),I=0,2)/-3,-2,-2/
C REAL
        DATA (SPBEF(TREAL,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TREAL,I),I=0,2)/-3,-2,-2/
C DOUBLEPRECISION
        DATA (SPBEF(TDOUBL,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TDOUBL,I),I=0,2)/1,-2,-2/
C COMPLEX
        DATA (SPBEF(TCOMPL,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TCOMPL,I),I=0,2)/-3,-2,-2/
C LOGICAL
        DATA (SPBEF(TLOGIC,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TLOGIC,I),I=0,2)/-3,-2,-2/
C CHARACTER
        DATA (SPBEF(TCHARA,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TCHARA,I),I=0,2)/-3,-2,-2/
C DOUBLE COMPLEX
        DATA (SPBEF(TDCMPL,I),I=0,2)/0,-2,-2/
        DATA (SPAFT(TDCMPL,I),I=0,2)/1,-2,-2/
C ,
        DATA (SPBEF(TCOMMA,I),I=0,2)/0,0,0/
        DATA (SPAFT(TCOMMA,I),I=0,2)/0,0,0/
C =
        DATA (SPBEF(TEQUAL,I),I=0,2)/1,0,0/
        DATA (SPAFT(TEQUAL,I),I=0,2)/1,0,0/
C :
        DATA (SPBEF(TCOLON,I),I=0,2)/0,0,0/
        DATA (SPAFT(TCOLON,I),I=0,2)/0,0,0/
C (
        DATA (SPBEF(TLPARN,I),I=0,2)/-1,-1,-1/
        DATA (SPAFT(TLPARN,I),I=0,2)/0,0,0/
C )
        DATA (SPBEF(TRPARN,I),I=0,2)/0,0,0/
        DATA (SPAFT(TRPARN,I),I=0,2)/-1,-1,-1/
C Relational operators
        DATA ((SPBEF(I,J),J=0,2),I=TLE,TGT)/1,0,0,1,0,0,1,0,0,1,0,0,
     +1,0,0,1,0,0/
        DATA ((SPAFT(I,J),J=0,2),I=TLE,TGT)/1,0,0,1,0,0,1,0,0,1,0,0,
     +1,0,0,1,0,0/
C .AND.
        DATA (SPBEF(TAND,I),I=0,2)/1,1,0/
        DATA (SPAFT(TAND,I),I=0,2)/1,1,0/
C .OR.
        DATA (SPBEF(TOR,I),I=0,2)/1,1,0/
        DATA (SPAFT(TOR,I),I=0,2)/1,1,0/
C .EQV.
        DATA (SPBEF(TEQV,I),I=0,2)/1,1,0/
        DATA (SPAFT(TEQV,I),I=0,2)/1,1,0/
C .NEQV.
        DATA (SPBEF(TNEQV,I),I=0,2)/1,1,0/
        DATA (SPAFT(TNEQV,I),I=0,2)/1,1,0/
C .NOT.
        DATA (SPBEF(TNOT,I),I=0,2)/1,0,0/
        DATA (SPAFT(TNOT,I),I=0,2)/1,0,0/
C *
        DATA (SPBEF(TSTAR,I),I=0,2)/0,0,0/
        DATA (SPAFT(TSTAR,I),I=0,2)/0,0,0/
C **
        DATA (SPBEF(TDSTAR,I),I=0,2)/0,0,0/
        DATA (SPAFT(TDSTAR,I),I=0,2)/0,0,0/
C +
        DATA (SPBEF(TPLUS,I),I=0,2)/1,0,0/
        DATA (SPAFT(TPLUS,I),I=0,2)/1,0,0/
C -
        DATA (SPBEF(TMINUS,I),I=0,2)/1,0,0/
        DATA (SPAFT(TMINUS,I),I=0,2)/1,0,0/
C /
        DATA (SPBEF(TSLASH,I),I=0,2)/0,0,0/
        DATA (SPAFT(TSLASH,I),I=0,2)/0,0,0/
C //
        DATA (SPBEF(TCNCAT,I),I=0,2)/0,0,0/
        DATA (SPAFT(TCNCAT,I),I=0,2)/0,0,0/
C integer constant (labels are done separately)
        DATA (SPBEF(TDCNST,I),I=0,2)/0,0,0/
        DATA (SPAFT(TDCNST,I),I=0,2)/0,0,0/
C Logical constant
        DATA (SPBEF(TLCNST,I),I=0,2)/0,0,0/
        DATA (SPAFT(TLCNST,I),I=0,2)/0,0,0/
C Real constant
        DATA (SPBEF(TRCNST,I),I=0,2)/0,0,0/
        DATA (SPAFT(TRCNST,I),I=0,2)/0,0,0/
C Double precision constant
        DATA (SPBEF(TPCNST,I),I=0,2)/0,0,0/
        DATA (SPAFT(TPCNST,I),I=0,2)/0,0,0/
C Character constant
        DATA (SPBEF(TCCNST,I),I=0,2)/0,0,0/
        DATA (SPAFT(TCCNST,I),I=0,2)/0,0,0/
C Hollerith constant
        DATA (SPBEF(THCNST,I),I=0,2)/0,0,0/
        DATA (SPAFT(THCNST,I),I=0,2)/0,0,0/
C Identifier
        DATA (SPBEF(TNAME,I),I=0,2)/0,0,0/
        DATA (SPAFT(TNAME,I),I=0,2)/0,0,0/
C Field in a FORMAT statement
        DATA (SPBEF(TFIELD,I),I=0,2)/0,0,0/
        DATA (SPAFT(TFIELD,I),I=0,2)/0,0,0/
C Scale factor in a FORMAT statement
        DATA (SPBEF(TSCALE,I),I=0,2)/0,0,0/
        DATA (SPAFT(TSCALE,I),I=0,2)/0,0,0/
C <EOS>
        DATA (SPBEF(TZEOS,I),I=0,2)/-2,-2,-2/
        DATA (SPAFT(TZEOS,I),I=0,2)/-2,-2,-2/
C Comment
        DATA (SPBEF(TCMMNT,I),I=0,2)/-2,-2,-2/
        DATA (SPAFT(TCMMNT,I),I=0,2)/-2,-2,-2/
C FMT=
        DATA (SPBEF(TFMTKD,I),I=0,2)/-2,0,0/
        DATA (SPAFT(TFMTKD,I),I=0,2)/-2,0,0/
C END=
        DATA (SPBEF(TENDKD,I),I=0,2)/-2,0,0/
        DATA (SPAFT(TENDKD,I),I=0,2)/-2,0,0/
C ERR=
        DATA (SPBEF(TERRKD,I),I=0,2)/-2,0,0/
        DATA (SPAFT(TERRKD,I),I=0,2)/-2,0,0/
 
C *******************************EXTENDED TOKEN TYPES
C
        DATA TMPLUS/TMPLUV/,TMMINU/TMMINV/
 
C ******************************* Line break priorities
C
 
C Monadic minus
        DATA (BRPRIO(TMMINV,I),I=0,2)/0,0,0/
C Monadic plus
        DATA (BRPRIO(TMPLUV,I),I=0,2)/0,0,0/
C End-of-file
        DATA (BRPRIO(TZEOF,I),I=0,2)/0,0,0/
C ASSIGN
        DATA (BRPRIO(TASSIG,I),I=0,2)/20,20,20/
C BACKSPACE
        DATA (BRPRIO(TBACKS,I),I=0,2)/20,20,20/
C BLOCKDATA
        DATA (BRPRIO(TBLOCK,I),I=0,2)/20,20,20/
C CALL
        DATA (BRPRIO(TCALL,I),I=0,2)/20,20,20/
C CLOSE
        DATA (BRPRIO(TCLOSE,I),I=0,2)/20,20,20/
C COMMON
        DATA (BRPRIO(TCOMMO,I),I=0,2)/20,20,20/
C CONTINUE
        DATA (BRPRIO(TCONTI,I),I=0,2)/20,20,20/
C DATA
        DATA (BRPRIO(TDATA,I),I=0,2)/20,20,20/
C DO
        DATA (BRPRIO(TDO,I),I=0,2)/20,20,20/
C DIMENSION
        DATA (BRPRIO(TDIMEN,I),I=0,2)/20,20,20/
C ELSE
        DATA (BRPRIO(TELSE,I),I=0,2)/20,20,20/
C ELSEIF
        DATA (BRPRIO(TELSIF,I),I=0,2)/20,20,20/
C END
        DATA (BRPRIO(TEND,I),I=0,2)/20,20,20/
C ENDFILE
        DATA (BRPRIO(TENDFI,I),I=0,2)/20,20,20/
C ENDIF
        DATA (BRPRIO(TENDIF,I),I=0,2)/20,20,20/
C ENTRY
        DATA (BRPRIO(TENTRY,I),I=0,2)/20,20,20/
C EQUIVALENCE
        DATA (BRPRIO(TEQUIV,I),I=0,2)/20,20,20/
C EXTERNAL
        DATA (BRPRIO(TEXTER,I),I=0,2)/20,20,20/
C FUNCTION
        DATA (BRPRIO(TFUNCT,I),I=0,2)/20,20,20/
C FORMAT
        DATA (BRPRIO(TFORMA,I),I=0,2)/20,20,20/
C GOTO
        DATA (BRPRIO(TGOTO,I),I=0,2)/20,20,20/
C IF
        DATA (BRPRIO(TIF,I),I=0,2)/20,20,20/
C IMPLICIT
        DATA (BRPRIO(TIMPLI,I),I=0,2)/20,20,20/
C INQUIRE
        DATA (BRPRIO(TINQUI,I),I=0,2)/20,20,20/
C INTRINSIC
        DATA (BRPRIO(TINTRI,I),I=0,2)/20,20,20/
C OPEN
        DATA (BRPRIO(TOPEN,I),I=0,2)/20,20,20/
C PARAMETER
        DATA (BRPRIO(TPARAM,I),I=0,2)/20,20,20/
C PAUSE
        DATA (BRPRIO(TPAUSE,I),I=0,2)/20,20,20/
C PRINT
        DATA (BRPRIO(TPRINT,I),I=0,2)/20,20,20/
C PROGRAM
        DATA (BRPRIO(TPROGR,I),I=0,2)/20,20,20/
C READ
        DATA (BRPRIO(TREAD,I),I=0,2)/20,20,20/
C RETURN
        DATA (BRPRIO(TRETUR,I),I=0,2)/20,20,20/
C REWIND
        DATA (BRPRIO(TREWIN,I),I=0,2)/20,20,20/
C SAVE
        DATA (BRPRIO(TSAVE,I),I=0,2)/20,20,20/
C STOP
        DATA (BRPRIO(TSTOP,I),I=0,2)/20,20,20/
C SUBROUTINE
        DATA (BRPRIO(TSUBRO,I),I=0,2)/20,20,20/
C THEN
        DATA (BRPRIO(TTHEN,I),I=0,2)/20,20,20/
C TO
        DATA (BRPRIO(TTO,I),I=0,2)/20,20,20/
C WRITE
        DATA (BRPRIO(TWRITE,I),I=0,2)/20,20,20/
C INTEGER
        DATA (BRPRIO(TINTEG,I),I=0,2)/20,20,20/
C REAL
        DATA (BRPRIO(TREAL,I),I=0,2)/20,20,20/
C DOUBLEPRECISION
        DATA (BRPRIO(TDOUBL,I),I=0,2)/20,20,20/
C COMPLEX
        DATA (BRPRIO(TCOMPL,I),I=0,2)/20,20,20/
C LOGICAL
        DATA (BRPRIO(TLOGIC,I),I=0,2)/20,20,20/
C CHARACTER
        DATA (BRPRIO(TCHARA,I),I=0,2)/20,20,20/
C DOUBLE COMPLEX
        DATA (BRPRIO(TDCMPL,I),I=0,2)/20,20,20/
C ,
        DATA (BRPRIO(TCOMMA,I),I=0,2)/90,70,50/
C =
        DATA (BRPRIO(TEQUAL,I),I=0,2)/20,20,20/
C :
        DATA (BRPRIO(TCOLON,I),I=0,2)/88,68,48/
C (
        DATA (BRPRIO(TLPARN,I),I=0,2)/10,10,10/
C )
        DATA (BRPRIO(TRPARN,I),I=0,2)/50,30,20/
C ** //
        DATA (BRPRIO(TDSTAR,I),I=0,2)/72,52,32/
        DATA (BRPRIO(TCNCAT,I),I=0,2)/72,52,32/
C * /
        DATA (BRPRIO(TSTAR,I),I=0,2)/74,54,34/
        DATA (BRPRIO(TSLASH,I),I=0,2)/74,54,34/
C + - (binary)
        DATA (BRPRIO(TPLUS,I),I=0,2)/76,56,36/
        DATA (BRPRIO(TMINUS,I),I=0,2)/76,56,36/
C .LE. .LT. .EQ. .NE. .GT. .GE.
        DATA (BRPRIO(TLE,I),I=0,2)/78,58,38/
        DATA (BRPRIO(TLT,I),I=0,2)/78,58,38/
        DATA (BRPRIO(TEQ,I),I=0,2)/78,58,38/
        DATA (BRPRIO(TNE,I),I=0,2)/78,58,38/
        DATA (BRPRIO(TGE,I),I=0,2)/78,58,38/
        DATA (BRPRIO(TGT,I),I=0,2)/78,58,38/
C .NOT.
        DATA (BRPRIO(TNOT,I),I=0,2)/80,60,40/
C .AND.
        DATA (BRPRIO(TAND,I),I=0,2)/82,62,42/
C .OR.
        DATA (BRPRIO(TOR,I),I=0,2)/84,64,44/
C .EQV. .NEQV.
        DATA (BRPRIO(TEQV,I),I=0,2)/86,66,46/
        DATA (BRPRIO(TNEQV,I),I=0,2)/86,66,46/
C Everthing else from here on
        DATA ((BRPRIO(I,J),J=0,2),I=TDCNST,TERRKD)/20,20,20,20,20,20,20,
     +        20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
     +        20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20/
 
C************************************* Blank line insertion
C
 
        DATA BLADEC/.TRUE./,BLCHAR/32/
 
        DATA (BLAFT(I),I=TMMINV,TENDFI)/18*0/
C ENDIF
        DATA BLAFT(TENDIF)/1/
 
        DATA (BLAFT(I),I=TENTRY,TFUNCT)/4*0/
C FORMAT
        DATA BLAFT(TFORMA)/1/
C GOTO
        DATA BLAFT(TGOTO)/1/
        DATA (BLAFT(I),I=TIF,TPARAM)/6*0/
C PAUSE
        DATA BLAFT(TPAUSE)/1/
        DATA (BLAFT(I),I=TPRINT,TREAD)/3*0/
C RETURN
        DATA BLAFT(TRETUR)/1/
        DATA BLAFT(TREWIN),BLAFT(TSAVE)/0,0/
C STOP
        DATA BLAFT(TSTOP)/1/
        DATA (BLAFT(I),I=TSUBRO,TERRKD)/47*0/
 
C** Blank lines before:
 
        DATA (BLBEF(I),I=TMMINV,TDIMEN)/14*0/
C ELSE
        DATA BLBEF(TELSE)/1/
C ELSEIF
        DATA BLBEF(TELSIF)/1/
        DATA (BLBEF(I),I=TEND,TFUNCT)/7*0/
C FORMAT
        DATA BLBEF(TFORMA)/1/
        DATA (BLBEF(I),I=TGOTO,TERRKD)/62*0/
 
        DATA LMARGS/7/,RMARGS/72/,LMARGC/2/,RMARGC/72/
        DATA CONCHR/43/
        DATA LABELF/1/,LABELC/1/
        DATA INDDO/4/,INDIF/4/,INDCON/-2/,INDCMT/.FALSE./
        DATA SEQINI,SEQINC,SEQDIG,SEQFIL,SEQRQD/1,1,4,32,.FALSE./
        DATA FLBINI/9000/,FLBINC/10/,SLBINI/10/,SLBINC/10/
        DATA RLBFMT,RLBSTM,MOVEF,DOCONI,IOTHCO/5*.FALSE./
        DATA CMMODE/0/,CBOX/0/,CBTOP/42/,CBSIDE/42/,CMCHAR/32/
        DATA KWCASE/0/,IDCASE,STRCAS,CMCASE,FFCASE/4*0/
        DATA VLEN,DLEN/2*0/
        DATA DLUP,TRACE,INDDOC,DELSED,BRKLIF/5*.FALSE./
        DATA ERRCMT/.TRUE./
        DATA CVTHFM,RMOPCF,FMSBRK/3*.FALSE./
 
        END
 
 
C ----------------------------------------------------------------------
C
C       T N A B L K  -  Token Name Block Data (for option parsing)
C
 
        BLOCK DATA TNABLK
 
C---------------------------------------------------------
C    TOOLPACK/1    Release: 2.4
C---------------------------------------------------------
C
C  TKLAST = LAST TOKEN NUMBER
C
      INTEGER TZEOF ,TASSIG,TBACKS,TBLOCK,TCALL ,TCLOSE,TCOMMO,TCONTI,
     +        TDATA ,TDO   ,TDIMEN,TELSE ,TELSIF,TEND  ,TENDFI,TENDIF,
     +        TENTRY,TEQUIV,TEXTER,TFUNCT,TFORMA,TGOTO ,TIF   ,TIMPLI,
     +        TINQUI,TINTRI,TOPEN ,TPARAM,TPAUSE,TPRINT,TPROGR,TREAD ,
     +        TRETUR,TREWIN,TSAVE ,TSTOP ,TSUBRO,TTHEN ,TTO   ,TWRITE,
     +        TINTEG,TREAL ,TDOUBL,TCOMPL,TLOGIC,TCHARA,TDCMPL,TCOMMA,
     +        TEQUAL,TCOLON,TLPARN,TRPARN,TLE   ,TLT   ,TEQ   ,TNE   ,
     +        TGE   ,TGT   ,TAND  ,TOR   ,TEQV  ,TNEQV ,TNOT  ,TSTAR ,
     +        TDSTAR,TPLUS ,TMINUS,TSLASH,TCNCAT,TDCNST,TLCNST,TRCNST,
     +        TPCNST,TCCNST,THCNST,TNAME ,TFIELD,TSCALE,TZEOS ,TCMMNT,
     +        TFMTKD,TENDKD,TERRKD,TKLAST
      PARAMETER (TZEOF = 1,TASSIG= 2,TBACKS= 3,TBLOCK= 4,TCALL = 5,
     +           TCLOSE= 6,TCOMMO= 7,TCONTI= 8,TDATA = 9,TDO   =10,
     +           TDIMEN=11,TELSE =12,TELSIF=13,TEND  =14,TENDFI=15,
     +           TENDIF=16,TENTRY=17,TEQUIV=18,TEXTER=19,TFUNCT=20,
     +           TFORMA=21,TGOTO =22,TIF   =23,TIMPLI=24,TINQUI=25,
     +           TINTRI=26,TOPEN =27,TPARAM=28,TPAUSE=29,TPRINT=30,
     +           TPROGR=31,TREAD =32,TRETUR=33,TREWIN=34,TSAVE =35,
     +           TSTOP =36,TSUBRO=37,TTHEN =38,TTO   =39,TWRITE=40,
     +           TINTEG=41,TREAL =42,TDOUBL=43,TCOMPL=44,TLOGIC=45,
     +           TCHARA=46,TDCMPL=47,TCOMMA=48,TEQUAL=49,TCOLON=50,
     +           TLPARN=51,TRPARN=52,TLE   =53,TLT   =54,TEQ   =55,
     +           TNE   =56,TGE   =57,TGT   =58,TAND  =59,TOR   =60,
     +           TEQV  =61,TNEQV =62,TNOT  =63,TSTAR =64,TDSTAR=65,
     +           TPLUS =66,TMINUS=67,TSLASH=68,TCNCAT=69,TDCNST=70,
     +           TLCNST=71,TRCNST=72,TPCNST=73,TCCNST=74,THCNST=75,
     +           TNAME =76,TFIELD=77,TSCALE=78,TZEOS =79,TCMMNT=80,
     +           TFMTKD=81,TENDKD=82,TERRKD=83,TKLAST=83)
 
 
        COMMON/TNAMES/TOKNAM
        CHARACTER*6 TOKNAM(-2:TKLAST)
 
        INTEGER TMMINV,TMPLUV
        PARAMETER (TMMINV=-2,TMPLUV=-1)
 
        SAVE
 
        DATA TOKNAM(TMMINV),TOKNAM(TMPLUV)/'TMMINU','TMPLUS'/
        DATA TOKNAM(0)/'======'/
        DATA
     +TOKNAM(TZEOF )/'TZEOF '/,TOKNAM(TASSIG)/'TASSIG'/,
     +TOKNAM(TBACKS)/'TBACKS'/,TOKNAM(TBLOCK)/'TBLOCK'/,
     +TOKNAM(TCALL )/'TCALL '/,TOKNAM(TCLOSE)/'TCLOSE'/,
     +TOKNAM(TCOMMO)/'TCOMMO'/,TOKNAM(TCONTI)/'TCONTI'/,
     +TOKNAM(TDATA )/'TDATA '/,TOKNAM(TDO   )/'TDO   '/,
     +TOKNAM(TDIMEN)/'TDIMEN'/,TOKNAM(TELSE )/'TELSE '/,
     +TOKNAM(TELSIF)/'TELSIF'/,TOKNAM(TEND  )/'TEND  '/,
     +TOKNAM(TENDFI)/'TENDFI'/,TOKNAM(TENDIF)/'TENDIF'/,
     +TOKNAM(TENTRY)/'TENTRY'/,TOKNAM(TEQUIV)/'TEQUIV'/,
     +TOKNAM(TEXTER)/'TEXTER'/,TOKNAM(TFUNCT)/'TFUNCT'/,
     +TOKNAM(TFORMA)/'TFORMA'/,TOKNAM(TGOTO )/'TGOTO '/,
     +TOKNAM(TIF   )/'TIF   '/,TOKNAM(TIMPLI)/'TIMPLI'/,
     +TOKNAM(TINQUI)/'TINQUI'/,TOKNAM(TINTRI)/'TINTRI'/,
     +TOKNAM(TOPEN )/'TOPEN '/,TOKNAM(TPARAM)/'TPARAM'/,
     +TOKNAM(TPAUSE)/'TPAUSE'/,TOKNAM(TPRINT)/'TPRINT'/,
     +TOKNAM(TPROGR)/'TPROGR'/,TOKNAM(TREAD )/'TREAD '/,
     +TOKNAM(TRETUR)/'TRETUR'/,TOKNAM(TREWIN)/'TREWIN'/,
     +TOKNAM(TSAVE )/'TSAVE '/,TOKNAM(TSTOP )/'TSTOP '/,
     +TOKNAM(TSUBRO)/'TSUBRO'/,TOKNAM(TTHEN )/'TTHEN '/
        DATA
     +TOKNAM(TTO   )/'TTO   '/,TOKNAM(TWRITE)/'TWRITE'/,
     +TOKNAM(TINTEG)/'TINTEG'/,TOKNAM(TREAL )/'TREAL '/,
     +TOKNAM(TDOUBL)/'TDOUBL'/,TOKNAM(TCOMPL)/'TCOMPL'/,
     +TOKNAM(TLOGIC)/'TLOGIC'/,TOKNAM(TCHARA)/'TCHARA'/,
     +TOKNAM(TDCMPL)/'TDCMPL'/,
     +TOKNAM(TCOMMA)/'TCOMMA'/,TOKNAM(TEQUAL)/'TEQUAL'/,
     +TOKNAM(TCOLON)/'TCOLON'/,TOKNAM(TLPARN)/'TLPARN'/,
     +TOKNAM(TRPARN)/'TRPARN'/,TOKNAM(TLE   )/'TLE   '/,
     +TOKNAM(TLT   )/'TLT   '/,TOKNAM(TEQ   )/'TEQ   '/,
     +TOKNAM(TNE   )/'TNE   '/,TOKNAM(TGE   )/'TGE   '/,
     +TOKNAM(TGT   )/'TGT   '/,TOKNAM(TAND  )/'TAND  '/,
     +TOKNAM(TOR   )/'TOR   '/,TOKNAM(TEQV  )/'TEQV  '/,
     +TOKNAM(TNEQV )/'TNEQV '/,TOKNAM(TNOT  )/'TNOT  '/,
     +TOKNAM(TSTAR )/'TSTAR '/,TOKNAM(TDSTAR)/'TDSTAR'/,
     +TOKNAM(TPLUS )/'TPLUS '/,TOKNAM(TMINUS)/'TMINUS'/,
     +TOKNAM(TSLASH)/'TSLASH'/,TOKNAM(TCNCAT)/'TCNCAT'/,
     +TOKNAM(TDCNST)/'TDCNST'/,TOKNAM(TLCNST)/'TLCNST'/,
     +TOKNAM(TRCNST)/'TRCNST'/,TOKNAM(TPCNST)/'TPCNST'/,
     +TOKNAM(TCCNST)/'TCCNST'/,TOKNAM(THCNST)/'THCNST'/
        DATA
     +TOKNAM(TNAME )/'TNAME '/,TOKNAM(TSCALE)/'TSCALE'/,
     +TOKNAM(TFIELD)/'TFIELD'/,TOKNAM(TZEOS )/'TZEOS '/,
     +TOKNAM(TCMMNT)/'TCMMNT'/,TOKNAM(TFMTKD)/'TFMTKD'/,
     +TOKNAM(TENDKD)/'TENDKD'/,TOKNAM(TERRKD)/'TERRKD'/
 
        END
